Αλγόριθμοι και ∆ομές ∆εδομένων

Κωδικός μαθήματος
ΨΣ017
Μονάδες ECTS
6
Εξάμηνο
Εξάμηνο Δ
Κατηγορία μαθήματος
Περιγραφή μαθήματος
ΜΑΘΗΣΙΑΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ

Το μάθημα έχει ως στόχο να εισάγει τους φοιτητές και τις φοιτήτριες στις δομές δεδομένων, στους αλγορίθμους και στην ανάλυση της πολυπλοκότητας τους. Με την επιτυχή παρακολούθηση του μαθήματος οι φοιτητές και οι φοιτήτριες θα:

  • αποκτήσουν αλγοριθμική σκέψη
  • εφαρμόζουν την Αναδρομή ως μεθοδολογία προγραμματισμού
  • κατανοήσουν και να εφαρμόζουν τους αλγορίθμους αναζήτησης και ταξινόμησης
  • σχεδιάζουν αλγορίθμους βάσει σύγχρονων τεχνικών
  • αναλύουν την πολυπλοκότητα των αλγορίθμων
  • κατανοήσουν τη λειτουργία θεμελιωδών δομών δεδομένων
  • χρησιμοποιούν τις κατάλληλες δομές δεδομένων για την υλοποίηση αποδοτικών προγραμμάτων
  • υλοποιούν δομές δεδομένων συνδεδεμένης λίστας
  • υλοποιούν στοίβες και ουρές με χρήση πίνακα και συνδεδεμένης λίστας
  • υλοποιούν δυαδικά δέντρα αναζήτησης και θα σχεδιάζουν αλγορίθμους που τα αξιοποιούν
  • αναπαριστούν, υλοποιούν και διασχίζουν γράφους
  • χρησιμοποιούν τους κατάλληλους τύπους αρχείων ανάλογα με τις ανάγκες της εφαρμογής
  • υλοποιούν δομές δεδομένων στο δίσκο χρησιμοποιώντας ακολουθιακά αρχεία και αρχεία κατ’ ευθείαν πρόσβασης
ΓΕΝΙΚΕΣ ΙΚΑΝΟΤΗΤΕΣ
  • Αυτόνομη εργασία
  • Προαγωγή της ελεύθερης, δημιουργικής και επαγωγικής σκέψης
ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ

Σύντομη περιγραφή

  • Παρουσίαση απλών αλγορίθμων και ανάλυση τους
  • Αναδρομή και βασικοί αναδρομικοί αλγόριθμοι
  • Αλγόριθμοι αναζήτησης
  • Αλγόριθμοι ταξινόμησης
  • Ανδρομικές υλοποιήσεις αλγορίθμων ταξινόμησης και αναζήτησης
  • Στατικές δομές δεδομένων, πίνακες
  • Υλοποίηση Στοίβας και Ουράς με τη βοήθεια Πίνακα
  • Κυκλική Ουρά
  • Συνδεδεμένες Λίστες, ∆ιπλά Συνδεδεμένες Λίστες, Κυκλικές Λίστες και Λίστες με Κεφαλή
  • Υλοποίηση Στοίβας και Ουράς με τη βοήθεια Συνδεδεμένης Λίστας
  • ∆υαδικά ∆έντρα
  • Υλοποίηση ∆υαδικών ∆έντρων με τη βοήθεια ∆εικτών
  • Μέθοδοι ∆ιέλευσης από τους κόμβους ∆υαδικού ∆έντρου
  • ∆υαδικά ∆έντρα Αναζήτησης
  • Γράφοι
  • ∆ομές ∆εδομένων στη δευτερεύουσα μνήμη
  • Ακολουθιακά αρχεία, αρχεία κειμένου, αρχεία από bytes
  • Αρχεία κατ’ ευθείαν πρόσβασης, hashing
ΟΡΓΑΝΩΣΗ ΔΙΔΑΣΚΑΛΙΑΣ
Δραστηριότητα Φόρτος Εργασίας Εξαμήνου
Διαλέξεις 39
Αυτοτελής μελέτη 111
Σύνολο μαθήματος 150
ΑΞΙΟΛΟΓΗΣΗ ΦΟΙΤΗΤΩΝ

Γραπτή τελική εξέταση με ελάχιστη βαρύτητα 70% και έως δύο εργασίες με μέγιστη βαρύτητα 30%.

ΣΥΝΙΣΤΩΜΕΝΗ ΒΙΒΛΙΟΓΡΑΦΙΑ

1.    Robert Sedgewick, Αλγόριθμοι σε C, Εκδόσεις Κλειδάριθμος, 2006
2.    Ν. Μισυρλής, ∆ομές ∆εδομένων με C
3.    Παπουτσής Ιωάννης, Εισαγωγή στις ∆ομές ∆εδομένων και στους Αλγόριθμους (Υλοποίηση σε C), Τόμος Α, 6η έκδοση, εκδόσεις Α. Σταμούλης, Αθήνα, 2010 (κωδικός στον Εύδοξο: 23101)

ΗΛΕΚΤΡΟΝΙΚΗ ΣΕΛΙ∆Α ΜΑΘΗΜΑΤΟΣ ΣΤΟ ECLASS

https://eclass.uop.gr/modules/auth/opencourses.php?fc=294